1. Field of the Invention
This invention relates generally to a system and method for arbitrating access to a shared resource among multiple requesters, and more particularly to a system and method which determines the requestor with the highest priority.
2. Description of the Related Art
Many systems must manage access of peripheral devices to a shared resource. One common approach to manage the resource conflict is to prioritize the requests and to give the resource to the requestor with the highest priority number. In a computer system, for example, peripherals generally obtain access to the central processor through an interrupt system.
There are many ways to determine which requester has the highest priority. A common technique is a round robin scheme in which the arbiter checks the priority number of each requestor sequentially. While straightforward, the round robin technique requires several clock cycles for each bit of the priority number to complete in systems with many requestors. Other algorithms which are faster than the round robin technique have been used. Some require implementation using a dynamic wired-or function. However, new semi-custom techniques, such as logic synthesis, do not easily allow inclusion of dynamic logic, e.g., precharge-discharge logic.
There is a need for an arbitration system which can be implemented with static logic or a simple OR-tree. There is also a need for an arbitration system which can determine the requester with the highest priority using a single clock cycle for each bit of the priority number. There is a need for an arbitration system which is flexible enough to enable an expanded protocol.